[アップデート] Amazon Redshift 暗号化ハッシュ関数『SHA2』をサポートしました
Amazon Redshiftは、クラスタバージョン1.0.14877からチェックサムのビット数の引数値として0(256と同じ)、224、256、384、または512の暗号化ハッシュ関数SHA2をサポートするようになりました。
暗号化ハッシュ関数『SHA2』
SHA2関数は、SHA2暗号化ハッシュを使用して、可変長文字列(string)とチェックサムのビット数(bits)を引数に指定して、ハッシュ文字列に変換します。ハッシュ文字列は、指定されたビット数のチェックサムの16 進値をテキストで表記したものです。なお、チェックサムのビット数(bits)には、0(256と同じ)、224、256、384、512の指定が可能です。
SHA2(string, bits)
次の例では、「Amazon Redshift」という単語の256ビット値を返します。
# SELECT sha2('Amazon Redshift', 256); -[ RECORD 1 ]---------------------------------------------------------- sha2 | 15013dc10bc5b293f1f66ea28d818387f191cafeb26f89639fae0b4acf9c8772
[補足] 暗号化ハッシュ関数SHAとSHA1の別名も追加
暗号化ハッシュ関数『SHA2』の追加に伴い、以下の別名が追加になりました。他のDWHからの移行の際にこれらの関数の書き換えが不要になります。
SHA
この関数は、後述するSHA1の別名です。(つまり、SHR1と同じ)
SHA1
この関数は、既存のFUNC_SHA1の別名です。(つまり、FUNC_SHA1と同じ)
最後に
従来、SHA-2(SHA-256)に変換するにはUDF(ユーザ定義関数)を作成する必要がありましたが、Pythonとの呼び出しが生じるためパフォーマンスやCPU使用率の上昇など課題がありました。今回のアップデートで、SHA2関数だけでなく、SHAとSHA1の別名が追加されたため、マイグレーションの手間が軽減されることが期待できます。